草庐IT

Java \'Prototype\' 模式 - new vs clone vs class.newInstance

全部标签

javascript - 在函数实例中使用原型(prototype)添加值

这个问题在这里已经有了答案:HowdoesJavaScript.prototypework?(26个答案)关闭7年前。我的代码中有一个构造函数。我已经创建了那个构造函数的实例。在新创建的实例中,我想通过使用原型(prototype)方法添加值或功能。但是我在执行此操作时遇到错误。这是我的代码fiddlefunctiona(){this.d=9}a.prototype.one=1;a.prototype.two=2;varj=newa();j.prototype.three=3;console.log(j)

javascript - 如何避免这种异步惰性模式?

很多时候,我需要在Javascript中编写这样一个延迟异步加载:if(myvar!=undefined){doSomeTreatment(myvar)}else{loadMyVarAsynchronously().then(function(value){myvar=valuedoSomeTreatment(myvar)})}在这里,myvar是散列的某个属性,而不是局部变量。loadMyVarAsynchronously异步加载myvar的值(例如,使用Promise或JQueryDeferred)是否有一种模式可以避免在此代码中将以下行写两次?doSomeTreatment(my

javascript - 扩展 String.prototype 性能表明函数调用快 10 倍

我想用一些实用方法扩展String对象原型(prototype)。它有效,但性能出奇的低。将字符串传递给函数比重写执行相同操作的String.prototype方法快10倍。为了确保这真的发生了,我创建了一个非常简单的count()函数和相应的方法。(我正在试验,并创建了该方法的三个不同版本。)functioncount(str,char){varn=0;for(vari=0;i结果:func:705msproto:10011msproto-reuse:10366msproto-var:9703ms如您所见,差异是巨大的。下面证明了方法调用的性能可以忽略不计,并且函数代码它自己对于方法

javascript - 为什么 CSS3Pie + Prototype 1.6.1 会导致 Internet Explorer 8 崩溃

我试图理解为什么Css3Pie与Prototype1.6.1一起使用会导致InternetExplorer8崩溃。为什么会这样?相关信息CSS3Pie[sourcecode]是一种InternetExplorer行为(htc),它添加了对CSS3属性(如边框半径、渐变等)的支持。崩溃仅发生在IE8中,不会发生在IE7或更早版本中。崩溃只发生在Prototype1.6.1[sourcecode],不是原型(prototype)1.6.0.x崩溃在页面加载时立即发生,我什至无法与页面交互。开发人员知道该问题,但由于他认为这是一个原型(prototype)问题(可能是),他可能并不急于修复它

javascript - 原型(prototype) : registry is undefined

我的注册表是未定义的行:5557...原型(prototype)为1.7。$$('#pageNava').each(function(element){element.observe('click',doSome(this.href));})pageNav是带有LI和A标签的UL列表。 最佳答案 这可能不完全适用,但我有一个非常相似的问题。原来我试图附加事件处理程序的对象是未定义的。//objTblisundefined->'registryisundefined'errorEvent.observe(objTbl.rows[i],

javascript原型(prototype)继承和对象属性

我正在尝试将原型(prototype)继承应用于Javascript中的函数。这一切都非常简单,甚至在Wikipedia'sjavascriptlemma中进行了描述.如果我的属性是简单的javascript类型,它就可以工作:functionPerson(){this.age=0;this.location={x:0,y:0,absolute:false};};functionEmployee(){};Employee.prototype=newPerson();Employee.prototype.celebrate=function(){this.age++;}varpete=n

javascript - 将散列模式应用于 openlayers 中的多边形

我正在使用Openlayers创建一个由来自KML文件的多边形组成的矢量图层,我需要对多边形应用“散列”模式(对Angular线条纹)。我知道Openlayers本身不支持将背景图像添加到矢量图层中的多边形,但我想知道是否有人对如何实现这一点有任何想法?矢量多边形的样式似乎仅限于纯色和不透明度。如果需要,我将通过在多边形边界内手动绘制散列线来扩展OpenLayers以添加此功能,但我希望在我走这条路之前有人能提供更简单的建议。 最佳答案 现在可以使用SLD完成此操作。不确定它是在2.11版还是主干开发中,但我看到了additionw

javascript - Firebug - 如何在页面加载时以 JS Debug模式启动

我正在查看一个网页,当我按下表单上的提交按钮时,它会打开一个新页面,在该页面上运行一些javascript,然后关闭窗口。有什么方法可以在新页面上单步执行javascript吗?我尝试在第一页的Firebug中设置breakonnext,但下一页仍然关闭窗口。(如果需要,我对除Firebug之外的其他工具持开放态度,我只需要单步执行javascript)更新:我应该提到我无权访问代码:-( 最佳答案 如果您有权访问代码,则可以将这个小语句放在您想要设置断点的位置:debugger;我不确定Firebug,但我希望它也能在那里工作。

javascript - 在二进制字符串中查找模式

我试图在一串二进制数字中找到重复模式。例如。0010010010或1110111011=确定不是。0100101101=坏字符串的长度为10位数字(如上所述),我猜“模式”的2次迭代是最少的。我开始手动设置程序可以与之匹配的模式“库”,但一定有更好的算法使用方法吗?搜索让我一无所获-我认为我使用的语言和术语不正确.. 最佳答案 相当大的挑战。这个功能呢?functionfindPattern(n){varmaxlen=parseInt(n.length/2);NEXT:for(vari=1;i它甚至适用于具有任何内容的任何长度的字符

javascript - 如何迭代对象原型(prototype)的属性

我有一些代码:varobj=function(){};//functionalobjectobj.foo='foo';obj.prototype.bar='bar';for(varpropinobj){console.log(prop);}令我惊讶的是,所有记录的都是foo。我希望for循环也遍历obj原型(prototype)的属性(即bar),因为我没有检查hasOwnProperty。我在这里错过了什么?是否也有一种惯用的方法来遍历原型(prototype)中的所有属性?我在Chrome和IE10中对此进行了测试。提前致谢。 最佳答案